let dimap(id, f, (P (a, a))) : p('a, 'b);